There is an event notification service in which a notification of an event (e.g., a VoIP (Voice over Internet Protocol) incoming call notification, and an SNS (Social Networking Service) update notification) is actively sent from a server device to a terminal through an IP (Internet Protocol) network. A push-type notification which a server device sends in the event notification service is called a “Push Notification” or a push message. The server device (hereinafter referred to as a push server) sending a push message receives, from a service provider server (hereinafter referred to as an application server), a notification request relating to a VoIP incoming notification, an SNS update notification, chat message distribution, a cloud storage update notification, and the like. The application server is a server device used by a service provider such as an SNS administrator.
The service provider uses the application server to request the push server for message distribution to an application provided by the service provider. The service provider preliminarily provides, to a user, an application for utilizing the service. Then, the user causes the application provided by the service provider to run on the terminal.
The push server transmits a push message to software (hereinafter referred to as a push client) running on the terminal according to the message distribution request. The push client passes the received message to the application specified by the destination-address of the received message. The application performs processing according to contents of the message received from the push client.
In the event notification service, the push server issues an ID for each combination of the terminal and the application. For example, the push server issues an ID “xxxA” for an application A in a terminal X, an ID “xxxB” for an application B in the terminal X, and an ID “yyyC” for an application C in a terminal Y. The push server, the push client, and the application server share each ID.
FIG. 11 is an explanatory diagram illustrating an outline of the event notification service. When making a message distribution request, the application server passes to the push server an ID indicating a combination of the terminal indicated by the destination-address of the message distribution and the application, together with the message distribution request. FIG. 11 illustrates an example of a case where an application server 700-1 of a service provider A passes the ID “xxxA” to a push server 600 together with a message distribution request addressed to the application A in the terminal X. Here, it is assumed that terminals 500-1 and 500-2 correspond to the terminals X and Y, respectively. Further, it is assumed that an application (hereinafter described as the application A) provided by the service provider A to the terminal X, and an application (hereinafter described as the application B) provided by the service provider B to the terminal X are stored in the terminal X. Moreover, it is assumed that an application (hereinafter described as the application C) provided by the service provider C to the terminal Y is stored in the terminal Y.
The push server 600 transmits, based on the ID “xxxA”, a message to the terminal X which is the destination-address of the message distribution. The push client 510-1 in the terminal X transmits, based on the ID “xxxA”, the received message to the application indicated by the destination-address of the message distribution, that is, the application A.
The application A performs processing according to the received message. For example, the application A notifies a user of information. The application A communicates with a content server and acquires updated contents from the content server.
PTL 1 describes a method of selecting, depending on a network environment and a push-server's resource state, a connection-type distribution method which continues to maintain connection to the push server from the terminal, or a polling-type distribution method in which the terminal periodically performs polling to the push server (see, e.g., PTL 1).